package com.middlegroup.pay.service;

import com.middlegroup.common.model.*;

/**
 * Created by pc on 2019/1/14.
 */
public interface SubjectPayService {

    /**调用主体服务端代付
     * @param request
     * @return
     */
    TransResult df(TransRequest request);

    /**调用主体服务端代扣
     * @param request
     * @return
     */
    TransResult deduct(TransRequest request);

    /**协议支付绑卡
     * senceType：1  获取校验码
     * senctType:2   确认交易
     * @param request
     * @return
     */
    TransResult protocolPay(TransRequest request);

    /**快捷支付
     * senceType：1  获取校验码
     * senctType:2   确认交易
     * @param request
     * @return
     */
    TransResult quickPay(TransRequest request);

    /**通知商户交易结果
     * @param merchantCode
     * @Param method
     * @param request
     */
    void notifyMerchant(String merchantCode,String method,NotifyRequest request);

    /**协议支付绑卡
     * @param bindCardDto
     * @return
     */
    TransResult bindCard(BindCardDto bindCardDto);


    /**调用主体服务端微信H5支付
     * @param request
     * @return
     */
    TransResult wechatPayH5(PayRequest request);

}
